/*
 * @lc app=leetcode.cn id=283 lang=cpp
 *
 * [283] 移动零
 */

// @lc code=start
#include<vector>
using namespace std;
class Solution 
{
public:
    void moveZeroes(vector<int>& nums) 
    {
        //利用cur dest指针来维护我们的区间
        //[0,dest]非0
        //【dest，cur】0
        //【cur+1,n-1】未扫描
        for(int cur=0,dest=-1;cur<nums.size();)
        {
            if(nums[cur]==0) cur++;
            else 
            {
                dest++;
                swap(nums[dest],nums[cur++]);
            }
        }
    }
};
// @lc code=end

